home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
m
/
maxonc++3.dms
/
maxonc++3.adf
/
Libs
/
KICKPASCAL
/
rctlibrary.lib
Wrap
Text File
|
1991-11-15
|
9KB
|
187 lines
{$if not def RCT_LIB}
Const RCT_LIB=7472;
{$if not def INTUITION_INTUITION_H;incl"intuition/intuition.h";endif}
{$if not def LIBRARRIES_DOS_H;incl"libraries/dos.h";endif}
Var RctBase:ptr;
CONST
Numpairs=9;
Dsize = 130; { max. Länge des Directorypfades }
Fchars = 30; { max. Länge des Filenamens }
Wildlength = 30; { max. Länge von Auswahlwildcards für den Filerequester }
GLNODEFAULTB = 1; { Flag für GetLongStructure.flags, bewirkt, daß beim }
{ Starten des Requesters die Eingabezeile ganz leerbleibt }
{ Flags für die Komponente Flags in der Filerequesterstruktur }
FRQSHOWINFO = 1; { .info Files zeigen. Default: Versteckt }
FRQEXTSELECT = 2; { Mehrfachselektionen mögliche. Default: nicht mögl. }
FRQCACHING = 4; { Zwischenspeichern von Dirs ein. Default: aus }
FRQGETFONTS = 8; { Fontrequester gewünscht. }
FRQINFOGADGET = 16; { Gadget "Hide .info" nicht erwünscht }
FRQHIDEWILDS = 32; { Gadget 'show' and 'hide' nicht gewünscht }
FRQABSOLUTEXY = 64; { Absolute Positionierung gewünscht, nicht nach Maus }
FRQCACHEPURGE = 128; { Purge="säubern" des Caches bei Änderung d. date stamp}
FRQNOHALFCACHE= 256; { Directory erst nach kompletten Einlesen in den Cache }
FRQNOSORT = 512; { Setzen, falls keine Sortierung erwünscht ist }
FRQNODRAG =1024; { wenn man kein drag bar und depth gadgets wünscht }
FRQSAVING =2048; { Falls ein File zum Speichern gewählt werden soll }
FRQLOADING =4096; { Falls ein zu ladendes File gewählt werden soll }
TYPE
TRStructure = Record
Text :Str; { Anzeigetext mit printf() Formatierung }
Controls :Ptr; { Adr. d. Parameterliste für printf-Formatierung }
Window :Ptr; { Zeiger auf eig. Windowstruktur, falls nicht WB }
MiddleText :Str; { Hierhin kommen die Zeiger für die 3 gewünschten }
PositiveText :Str; { Knopftexte, oder NIL für nicht gewünschte Knöpfe }
NegativeText :Str; { Zurückgegeben wird je nach gedr.Knopf 0,1, oder 2}
Title :Str; { Zeiger auf gewünschten Requestertitel }
KeyMask :Word { Falls Keyboarbedienung möglich sein soll, $ffff, }
{ sonst 0. Betätigung: positiv mit Y,V, neg. mit }
{ N,Q,B mittleren Knopf mit Taste M }
textcolor :Word { Textfarbe, default: 1 }
detailcolor :Word { Detailfarbe, default: 0 }
blockcolor :Word { Blockfarbe, default: 1 }
versionnumber :Word { Muß auf 0 gesetzt werden }
rfu1 :Long { Muß auf 0 gesetzt werden }
rfu2 :Long { Muß auf 0 gesetzt werden }
end;
GetLongStruct = Record
titlebar :Str; { Zeiger auf den Titel des Requesters }
defaultval :Long; { default Zahlenwert }
minlimit :Long; { Minimal eingebbarer Wert }
maxlimit :Long; { Maximal eingebbarer Wert }
result :Long; { Hier steht hinterher das Ergebnis drin }
Window :Ptr; { Falls eigener Screen, sonst NIL }
versionnumber :Word; { Hier muß 0 rein }
flags :Long; { GLNodefault (siehe oben) oder 0 }
rfu2 :Long; { Muß 0 sein }
end;
p_ESStructure = ^ESStructure; { Struktur für Mehrfachauswahl beim FReq.}
ESStructure = Record
ESStructure : p_ESStructure; { Zeiger auf nächste ES-Structure }
NameLength : Word; { Länge von "thefilename" }
Pad : Word;
Node : Ptr; { For internal use only. }
thefilename : String[31]; { Filename }
end;
RCTFileRequester = Record
VersionNumber :Word; { Muß 0 sein }
Title :Str; { Zeiger auf Requestertitel }
Dirname :Str; { Zeiger auf Verzeichnisnamen (max 130 Zeichen) }
Filename :Str; { Zeiger auf Filenamen (max. 30 Zeichen) }
PathName :Str; { Zeiger auf kompl. Pfadnamen (max.160 Zeichen) }
Window :Ptr; { Zeiger auf Windowstruktur bei CustomScreen }
MaxExtSelect :Word; { Max. Anwählbare Files (nur mit FRQExtSelect) }
numlines :Word; { Anzahl der Zeilen im File window. }
numcolumns :Word; { Anzahl der Spalten im File Window }
devcolumns :Word; { Anzahl der Spalten im Device-Window }
Flags :Long; { Flags für diverse Funktionen, siehe oben }
dirnamescolor :Word;
filenamescolor :Word; { Die folgenden Farben werden auf default ge- }
devicenamescolor :Word; { setzt, falls sie mit 0 initialisiert werden, }
fontnamescolor :Word; { hier kann man jedoch auch die Farben nach }
fontsizescolor :Word; { Geschmack eingetragen werden.... }
detailcolor :Word; { default : 0 }
blockcolor :Word; { default : 1 }
gadgettextcolor :Word; { default : 1 }
textmessagecolor :Word; { default : 1 }
stringnamecolor :word; { default : 3 }
stringgadgetcolor:word; { default : 3 }
boxbordercolor :Word; { default : 3 }
gadgetboxcolor :Word; { default : 3 }
RFU_Stuff :String[36]; { Frei für zukünft. Erweiterung, muß 0 sein }
DateStamp :DateStamp; { DateStamp des Dirs, aus libraries/dos.h }
WindowLeftEdge :Word; { In Verbindung mit FRQABSOLUTEXY lässt sich }
WindowTopEdge :Word; { die Pos. der linken oberen Ecke festlegen }
FontYSize :Word; { Beim Fontrequester werden hier die gewählte }
FontStyle :Word; { Größe und "Style" (?) zurückgegeben }
ExtendedSelect :p_ESStructure;{ Zeiger auf Struktur für Mehrfachauswahl }
Hide :String[32]; { Wildcards zur Selektion über Hide - Feld }
Show :String[32]; { Wildcards zur Selektion über Show - Feld }
FileBufferPos :Word;
FileDispPos :Word; { Diverse Felder, dienen zur Positionierung des }
DirBufferPos :Word; { Cursors in den unterschiedlichen Gadgets }
DirDispPos :word;
HideBufferPos :word;
HideDispPos :word;
ShowBufferPos :word;
ShowDispPos :word;
Memory :Ptr; { Ab hier ist jeder Zugriff auf die Record- }
Memory2 :Ptr; { Elemente verboten (Private Area) }
Lock :Ptr;
PrivateDirBuffer :String[132];
FileInfoBlock :Ptr;
NumEntries :Word;
NumHiddenEntries :Word;
filestartnumber :Word;
devicestartnumber:Word;
end;
Library RctBase:
-30: Function rctload(a0:Str):ptr;
-36: Function rctfree(a0:ptr):Boolean;
-42: Function rctaddr(a0:ptr;d0,d1:Integer):ptr;
-48: Function reqcenter(a0:ptr;a1:p_Requester;a2:p_Window):Boolean;
-54: Function reqdraw(a0:ptr;a1:p_Requester;a2:p_Window):Boolean;
-60: Function reqend(a0:ptr;a1:p_Requester;a2:p_Window):Boolean;
-66: Function getreqstruct(a0:ptr;a1:p_Requester;d0:Integer):Long;
-72: Function setreqstruct(a0:ptr;a1:p_Requester;d0:Integer;d1:Long):Boolean;
-78: Function setreqtext(a0:ptr;a1:p_Requester;d0:Integer;a2:Str):Boolean;
-84: Function getreqtext(a0:ptr;a1:p_Requester;d0:Integer):Str;
-90: Function gettextstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
-96: Function settextstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
-102:Function setgadtext(a0:ptr;a1:p_Requester;d0:Integer;a2:Str):Boolean;
-108:Function getgadtext(a0:ptr;a1:p_Requester;d0:Integer):Str;
-114:Function getgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
-120:Function setgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
-126:Function redrawgadgets(a0:ptr;a1:p_Requester;d0:Integer):Boolean;
-132:Function redrawgad(a0:ptr;a1:p_Requester;d0,d1:Integer):Boolean;
-138:Function activegad(a0:ptr;a1:p_Requester;d0:Long):Boolean;
-144:Function setstrgadtext(a0:ptr;a1:p_Requester;d0:Integer,a2:Str):Boolean;
-150:Function getstrgadtext(a0:ptr;a1:p_Requester;d0:Integer):Str;
-156:Function setstrgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
-162:Function getstrgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
-168:Function setpropgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
-174:Function getpropgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
-180:Function menudraw(a0:ptr;a1:p_Menu;a2:p_Window):Boolean;
-186:Function menuend(a0:ptr;a1:p_Menu;a2:p_Window):Boolean;
-192:Function setmenutitle(a0:ptr;a1:p_Menu;d0:Integer;a2:Str):Boolean;
-198:Function getmenutitle(a0:ptr;a1:p_Menu;d0:Integer):Str;
-204:Function setmenustruct(a0:ptr;a1:p_Menu;d0,d1:Integer;d2:Long):Boolean;
-210:Function getmenustruct(a0:ptr;a1:p_Menu;d0,d1:Integer):Long;
-216:Function setmenuitext(a0:ptr;a1:p_Menu,d0,d1:Integer;a2:Str):Boolean;
-222:Function getmenuitext(a0:ptr;a1:p_Menu;d0,d1:Integer):Str;
-228:Function setmenuitemstruct(a0:ptr;a1:p_Menu;d0,d1,d2:Integer;d3:Long):Boolean;
-234:Function getmenuitemstruct(a0:ptr;a1:p_Menu,d0,d1,d2:Integer):Long;
-240:Function setmenustext(a0:ptr;a1:p_Menu;d0,d1,d2:Integer;a2:Str):Boolean;
-246:Function getmenustext(a0:ptr;a1:p_Menu;d0,d1,d2:Integer):Str;
-252:Function setmenusubstruct(a0:ptr;a1:p_Menu;d0,d1,d2,d3:Integer;d4:Long):Boolean;
-258:Function getmenusubstruct(a0:ptr;a1:p_Menu;d0,d1,d2,d3:Integer):Long;
-264:Function reqdrawwindow(a0:ptr;a1:p_Requester,a2:p_Screen;a3:Str):p_Window;
-270:Function reqwait(a0:ptr;a1:p_Requester;a2:ptr):Integer;
-276:Function showscreen(a0:ptr;d0,d1:Integer;a1:Str):p_Screen;
-282:Function remscreen(a0:ptr;a1:p_screen):Boolean;
-288:Function form_alert(d0:Integer;a0:Str):Integer;
-294:Function filer(a0: ptr):Boolean;
-300:Procedure filercachefree(a0: ptr);
-306:Procedure waitall(a0:p_MsgPort;a1: p_IntuiMessage);
-312:Function gaddrawwindow(a0:ptr;a1:p_Requester,a2:p_Screen;a3:Str;d0,d1:Long):p_Window;
-318:Function getpattern(a0:ptr;d0:Long):ptr;
End;
{$endif}